<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    
</head>
<body>
    <script>
         /* // 1.声明函数,关键字全部小写,函数名一般是动词,函数不调用自己不执行
        function 函数名() {
            // 函数体
        } */
        // 2.函数调用,不要忘记加小括号
        // 函数名()

        // 函数就是封装了一段可以被重复执行调用的代码块, 目的:让大量重复代码重复使用
        function getSum(num1,num2) {
            var sum = 0
            for (var i = num1; i<=num2; i++) {
                sum += i
            }
            console.log(sum)
        }
        getSum(1,100)
       

        // 函数重复不同的代码:形参和实参,
        // 形参和是参数数量不匹配:(1)实参>形参:有几个形参就取几个实参
        //                      (2)形参>实参:多的形参值默认为undefined,结果为NaN
        /* function 函数名(形参1,形参2...) {  // 形式上的参数
            函数体
        }
        函数名(实参1,实参2...) */

        function cook1(caiming) {
            console.log(caiming)
        }
        cook1("酸辣土豆丝")
        cook1("肉末茄子")

        // 函数的返回值 return
        function cook2(caimin) {
           return caimin
        }
        
        console.log(cook2("酸辣土豆丝"));
        console.log(cook2("肉末茄子"));

        // 求两个值的最大值
        function getMax(num1,num2) {
            return num1>num2 ? num1 :num2
        }
        console.log(getMax(9,10));  
        console.log(getMax(19,10));  
        console.log(getMax(19,19));

        // 求数组中的最大值
        function max(arr) {
            var max = arr[0]
            for (var i=1; i<arr.length; i++) {
                if (max < arr[i]) {
                    max = arr[i]
                }
            }
            return max // return 后面的代码不会被执行,返回值有多个的时候,返回结果是最后一个值
                      // 返回多个值 return[return1,return2,return3...]
                      // 无返回值,则返回undefined
        }
        // 我们实际开开发中,我们经常用一个变量接受函数的返回结果
        var re = max([1,23,33,1321,31,323123])
        console.log(re);

      
    </script>
</body>
</html>